The present invention relates to a system that allows data acquisition and data processing circuitry to be accessed and controlled in the same manner as computer hard drives without the use of any special software on the host computer.
In order to help explain the present invention, which is a new method of performing data acquisition and processing, an overview of a computer Operating System (OS) is provided, followed by a detailed explanation of the interface differences between an application program and an operating system. It should be understood that there is a distinct interface layer between these two, which interface layer is used by the present invention.
Every Personal Computer, or "PC" as they are called, runs a piece of software called an Operating System (OS), which directs and controls basic computer operation. Common examples of PC operating systems are DOS, Windows, Windows 95, Unix, Windows NT, and the Macintosh System/7. Although each of these OSs provides a different user interface and "looks different" from the others to a user, they all perform basic housekeeping jobs within the computer. Things like opening and closing files, running programs, displaying text and graphics, and keeping track of the date and time, are all tasks performed by an operating system.
Application programs make use of the operating system by assuming that the operating system will take care of the many trivial and not-so-trivial details of common operations such as opening a disk file, and thus the application program does not have to manage these operations. One way to visualize this operating system--versus application interface is by thinking of the computer as an onion. Onions consist of a number of layers, much like the software in the computer. The inner core of the onion represents the hardware of the system--the RAM, the CPU, the keyboard and all the other circuitry in the system. Layers toward the outside of the onion represent the operating system and the dry skin of the onion represents an application program such as a spreadsheet or a word processing program.
The application programs should not access the hardware of the system without going through the operating system (you cannot get to the core of the onion except by going through the middle layers). There are many exceptions to this rule, for example, cases where programmers have found tricks to bypass the operating system (OS) for reasons of ease of programming, extra speed, just to be tricky, or to go around security features of the OS.
The present invention takes advantage of the fact that application programs do not get involved with system-level operations involving opening, closing, reading and writing disk files. All of the low-level details are left to the operating system. FIG. 1 shows a typical software "dialogue" that takes place between a program such as a word processing program and the OS. Assume a user wishes to open a file called NOTE1.DOC, enter some test into it (e.g., type a few notes about a business meeting), then close the file, and then print it.
All of the steps indicated with a rectangle are simple commands, such as "Open a file . . . ". The steps in a rounded rectangle generally consist of complicated control of hardware such as controlling a hard drive, controller a printer or reading data from a keyboard. The OS handles all of the details.
Now a typical prior art data acquisition system will be discussed.
A data acquisition system (or DA for short) is a combination of computer hardware and software that gathers, stores or processes data in order to control or monitor some sort of physical process. For example, a system that monitors the amount of raisins put into each box of Raisin Bran is a data acquisition (DA) system. So is a system that gathers and records weather data every minute or hour for use in forecasting tomorrow's weather. And so is a system that records stock market prices every minute for updating on a stock-market ticker. Data acquisition is a very common and necessary tool in today's technology.
Data Acquisition (DA) was implemented years ago on dedicated hardware that cost thousands of dollars, with little or no DA capability taking place on PCs and less-expensive systems. In the past few years, however, hardware boards and software packages that implement very powerful DA capability have been introduced by many vendors, paving the way for less expensive and more pervasive systems being put to use in solving real-world problems.
With no exception that the present invention has found, every DA system available on the market for PCs and similar workstations has its own software package for allowing a vendor's hardware (plug-in boards, cables, sensors, etc.) to be controlled by the PC or workstation. The advantage of each vendor providing their own software is that the vendor then has control over how the hardware is accessed, controlled and used, thus ensuring (to the degree possible) correct operation of the entire DA system. The vendor software is also a good insulation layer (another layer of our onion, near the outer skin) to other DA programs, such as plotting, graphing and data recorder programs, by presenting a standardized interface between the hardware and the other DA applications. The DA-hardware/DA-software interface is similar to the OS/application interface layer discussed earlier.
The disadvantages of each vendor providing their own DA interface software are many. One disadvantage is interoperability. If a user likes the plotting utility provided by vendor X's DA package, but needs the performance characteristics of vendor Y's plug-in board, it is almost guaranteed that the two pieces will not play well together. Interoperability also applies between different types of computers. If a user's current vendor X DA system runs on an inexpensive PC and the user needs to transition it to a big, powerful workstation running a different OS to deliver to the military, for example, there is currently no way to do this. The workstation with the different OS is (99 times out of 100) typically not supported by the vendor X hardware and software. In today's torrid environment of new, faster computers coming out almost monthly, interoperability of DA hardware and software between different systems would be highly desirable.
Two other disadvantages of each vendor providing their own DA interface software are cost and learning curves. Typically, each vendor provides a software package that is either proprietary at worst or a pseudo industry-standard at best. One has to go to this vendor for other software such as analysis packages, signal processing packages that work with the DA hardware and interface software, etc. This `locks` one into one vendor and one may have to accept a less-than-preferred software package as a result, just due to its software interface. With each new vendor's DA interface software, the user must then learn how to use the package, work through any bugs, and get proficient with it to the point where the DA work becomes efficient and productive. The learning curve costs are considerable.
One area of commonality on almost all computers that perform data acquisition (DA), whether they be PCs or big, expensive workstations, is hard disk storage. Hard drives are a fundamental part of almost all computers, and users are generally comfortable with using them and opening and closing files, copying and deleting files, organizing their disk, etc. Referring back to the operating system discussion and the onion, the hard drive's hardware resides in the middle of the onion, surrounded by the OS. The OS manages the details of all of the hard drive's operation so that application software does not need to manage it.
The object of the present invention revolves around a data acquisition/data processing system that exactly mimics a hard drive. It takes advantage of the fact that application software is insulated from low-level hardware by the operating system to achieve not only application-software independence but also system portability and interoperability.
A further object of the present invention is to provided a data acquisition/data processing system that can be used with almost any brand and type of computer system, just as disk drives can be added to almost any brand and type of computer system and configured for operation.
The present invention intends to encompass its basic concept not only in the data acquisition (DA) arena, but in the data processing arena (DP) as well.